#ifndef __ENTITY_HPP__
#define __ENTITY_HPP__

#include <SFML/Graphics.hpp>

class Ball;
class Platform;

class Entity : public sf::Drawable
{
    public :
        
        Entity();
        virtual ~Entity();
    
        virtual void collideWith(Entity& e);
        virtual void collideWith(Ball& b);
        virtual void collideWith(Platform& p);
    
        virtual void endCollideWith(Entity& e);
        virtual void endCollideWith(Ball& b);
        virtual void endCollideWith(Platform& p);
        
        virtual void draw(sf::RenderTarget &target, sf::RenderStates states) const = 0;
};

#endif /* __ENTITY_HPP__ */

